/**
 * @author:李雄
 * @ClassName:AnonymousInnerClass
 * @Description:匿名内部类测试
 * @createTime:2022-08-14 15:39
 */
public class AnonymousInnerClass {
    public static void main(String[] args) {
        //实例化1
        //Person person = new Person();
        //匿名内部类是person类的一个匿名子类，并完成了向上转型了
        Person person = new Person() {
            @Override
            public void walk(){
                System.out.println("肾虚了");
                super.walk();
            }
        };
        person.walk();


        //证明匿名内部内是一个子类
        //抽象类不能被实例化，足以证明匿名内部类是一个子类，并自动实现了继承（实现）和向上转型
        Animal animal = new Animal() {

            @Override
            public void eat() {
                System.out.println("吃嘎嘎");
            }

            @Override
            public void drink() {
                System.out.println("霍阔洛");
            }
        };
        animal.eat();
        animal.drink();
    }
}
class Person{
    public void walk(){
        System.out.println("我会走");
    }
}

abstract class Animal{
    public abstract void eat();
    public abstract void drink();

}